#pragma once
#include <set>
#include <memory>

#include "Op.h"

class OpDeletePrivate;
class INode;
class OpDelete : public Op
{
public:
	OpDelete(const std::vector<std::shared_ptr<INode>>& children, QUndoCommand *outer = nullptr);
	~OpDelete();

	virtual void redo() override;
	virtual void undo() override;

protected:
	OpDeletePrivate* d_ptr;
};